package org.smarthings.things.management.event;

public interface ThingEventConstants {

	String TOPIC_THING_REGISTERED = "ThingRegistered";
	String TOPIC_THING_UNREGISTERED = "ThingUnregistered";
	String TOPIC_THING_STATE_CHANGED = "ThingStateChanged";
	String TOPIC_THING_PROPERTY_CHNAGED = "ThingPropertyChanged";
	String TOPIC_THING_ACTION_EXECUTED = "ThingActionExecuted";

	String PROPERTY_TIMESTAMP = "timestamp";

	String PROPERTY_THING = "thing";

	String PROPERTY_THING_UUID = "UUID";
	String PROPERTY_THING_NAME = "name";
	String PROPERTY_THING_TYPE = "type";
	String PROPERTY_THING_STATE = "state";
	String PROPERTY_THING_TAGS = "tags";

	String PROPERTY_THING_CHANGED_PROPERTY = "property";

	String PROPERTY_THING_CHANGED_PROPERTY_UUID = "UUID";
	String PROPERTY_THING_CHANGED_PROPERTY_TYPE = "type";
	String PROPERTY_THING_CHANGED_PROPERTY_VALUE_PREFIX = "value";

	String PROPERTY_THING_EXECUTED_ACTION = "action";

	String PROPERTY_THING_EXECUTED_ACTION_UUID = "UUID";
	String PROPERTY_THING_EXECUTED_ACTION_TYPE = "type";
	String PROPERTY_THING_EXECUTED_ACTION_ARGUMENTS = "arguments";

	String PROPERTY_TYPE_STRING = "String";
	String PROPERTY_TYPE_BOOLEAN = "Boolean";
	String PROPERTY_TYPE_INTEGER = "Integer";
	String PROPERTY_TYPE_LONG = "Long";
	String PROPERTY_TYPE_FLOAT = "Float";
	String PROPERTY_TYPE_DOUBLE = "Double";
	String PROPERTY_TYPE_BIG_INTEGER = "BigInteger";

}
